package com.solo.system.model.role;

import com.solo.system.api.entity.SysRoleDept;
import com.solo.system.model.role.dept.req.RoleDeptUpdateReq;
import com.solo.system.model.role.dept.resp.RoleDeptGetResp;
import com.solo.system.model.role.req.RoleDeptReq;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 数据权限实体转换类
 * @author 十一
 * @since 2024-11-07 09:18
 * 人生若只如初见，何事秋风悲画扇
 **/
@Mapper
public interface SysRoleDeptConvert {

    SysRoleDeptConvert INSTANCE = Mappers.getMapper(SysRoleDeptConvert.class);

    default List<SysRoleDept> convert(RoleDeptReq bean) {
        return bean.getDeptIds().stream().map(deptId -> {
            SysRoleDept roleDept = new SysRoleDept();
            roleDept.setRoleId(bean.getRoleId());
            roleDept.setDeptId(deptId);
            return roleDept;
        }).toList();
    }

    SysRoleDept convert(RoleDeptUpdateReq bean);

    RoleDeptGetResp convertGet(SysRoleDept bean);

}
